home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekikoh Dennoh Club 5
/
Gekikoh Dennoh Club Vol. 5 (Japan).7z
/
Gekikoh Dennoh Club Vol. 5 (Japan) (Track 01).bin
/
docs
/
rakup
/
match07.doc
< prev
next >
Wrap
Text File
|
1998-10-03
|
13KB
|
552 lines
ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬
(MATCH07.DOC)
é¿ïCèyé▓é¡éτé¡âvâìâOâëâ~âôâOôⁿûσ ö╘èOò╥ üuâGâLâXâpü[âgâVâXâeâÇé╠ì∞ɼüv
ìLêΣü@É╜
ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬ä¬
ü¢Ä└ìsùß -- ë╞înÉ}
âvâìâOâëâÇé¬è«É¼é╡é╜é╠é┼üAÄ└ì█é╔ô«ì∞é│é╣é─é▌é▄é╡éσéñüBï∩æ╠ôIé╚ùßæΦé╞é╡
é─üAăé╠éµéñé╚ë╞înÉ}é≡ìléªé─é▌é▄é╖üB
äíäƒäƒäƒ ÄOÿY
ìKÄq äá
ä½äƒäƒäº
äíäƒäƒ êΩÿY äá
æ╛ÿY äá äñäƒäƒäƒ ùmÄq
ä½äƒäƒä⌐äƒäƒ ăÿY
ë╘Äq äá
äñäƒäƒ ùFÄq
É} 22 : ë╞înÉ}
é▒é╠ë╞înÉ}é═üAăé╠éµéñé╚ÄûÄ└é┼ò\é╖é▒é╞é¬é┼é½é▄é╖üB
List 47 : ë╞înÉ}é╠ÆΦï`(âtâ@âCâï FAMILY.DAT é╔èiö[)
1 ((Æjɽ æ╛ÿY)) ; æ╛ÿYé═Æjɽé┼éáéΘüB
2 ((Æjɽ êΩÿY)) ; êΩÿYé═Æjɽé┼éáéΘüB
3 ((Æjɽ ăÿY)) ; ăÿYé═Æjɽé┼éáéΘüB
4 ((Æjɽ ÄOÿY)) ; ÄOÿYé═Æjɽé┼éáéΘüB
5 ((Åùɽ ë╘Äq)) ; ë╘Äqé═Åùɽé┼éáéΘüB
6 ((Åùɽ ùFÄq)) ; ùFÄqé═Åùɽé┼éáéΘüB
7 ((Åùɽ ìKÄq)) ; ìKÄqé═Åùɽé┼éáéΘüB
8 ((Åùɽ ùmÄq)) ; ùmÄqé═Åùɽé┼éáéΘüB
9 ((òâÉe æ╛ÿY êΩÿY)) ; æ╛ÿYé═êΩÿYé╠òâÉeé┼éáéΘüB
10 ((òâÉe æ╛ÿY ăÿY)) ; æ╛ÿYé═ăÿYé╠òâÉeé┼éáéΘüB
11 ((òâÉe æ╛ÿY ùFÄq)) ; æ╛ÿYé═ùFÄqé╠òâÉeé┼éáéΘüB
12 ((òΩÉe ë╘Äq êΩÿY)) ; ë╘Äqé═êΩÿYé╠òΩÉeé┼éáéΘüB
13 ((òΩÉe ë╘Äq ăÿY)) ; ë╘Äqé═ăÿYé╠òΩÉeé┼éáéΘüB
14 ((òΩÉe ë╘Äq ùFÄq)) ; ë╘Äqé═ùFÄqé╠òΩÉeé┼éáéΘüB
15 ((òâÉe êΩÿY ÄOÿY)) ; êΩÿYé═ÄOÿYé╠òâÉeé┼éáéΘüB
16 ((òâÉe êΩÿY ùmÄq)) ; êΩÿYé═ùmÄqé╠òâÉeé┼éáéΘüB
17 ((òΩÉe ìKÄq ÄOÿY)) ; ìKÄqé═ÄOÿYé╠òΩÉeé┼éáéΘüB
18 ((òΩÉe ìKÄq ùmÄq)) ; ìKÄqé═ùmÄqé╠òΩÉeé┼éáéΘüB
19 ; ïKæÑé╠ÆΦï`
20 ((ù╝Ée X Y) (òâÉe X Y))
21 ((ù╝Ée X Y) (òΩÉe X Y))
22 ((æºÄq X Y) (ù╝Ée Y X) (Æjɽ X))
23 ((û║ X Y) (ù╝Ée Y X) (Åùɽ X))
24 ((æcòâ X Y) (ù╝Ée Z Y) (òâÉe X Z))
ɽò╩é╠ÆΦï`é═è╚ÆPé┼é╖é╦üBÆjɽüAÅùɽé╞éóéñÅqîΩé≡Ägé┴é─éóé▄é╖üBòâÉeé╞òΩÉe
é┼é╖é¬üA(òâÉe X Y) é╞ÆΦï`é╡é╜ÅΩìçüAüuX é═ Y é╠òâÉeüvé╞éóéñè╓îWé≡ò\é╡é▄é╖üB
é╗éΩé┼é═üAÆΦï`é╡é╜ÄûÄ└é≡Ägé┴é─ïKæÑé≡ì∞é┴é─é▌é▄é╡éσéñüBé▄é╕üuù╝Éeüvé╞éó
éñïKæÑé≡ÆΦï`é╡é▄é╖üBù╝Éeé═üAòâÉeé⌐òΩÉeé╞éóéñÄûÄ└é≡û₧é╜é╣é╬éóéóé┼é╖é╦üBé▒
é╠éµéñé╚ÅΩìçüAăé╠éµéñé╔ÆΦï`é╡é▄é╖üB
List 48 : ù╝Éeé╠ÆΦï`(X é═ Y é╠ù╝Éeé┼éáéΘ)
1 ((ù╝Ée X Y) (òâÉe X Y))
2 ((ù╝Ée X Y) (òΩÉe X Y))
üuù╝Éeé═òâÉeé┼éáéΘüvé╞üuù╝Éeé═òΩÉeé┼éáéΘüvé╞éóéñïKæÑé≡ÆΦï`é╡é╜é╛é»é┼é╖
é¬üAì┼Åëé╠É▀é¬Ä╕ösé╡é╜éτăé╠É▀é¬æIæ≡é│éΩé▄é╖é╠é┼üAüuù╝Éeé═òâÉeé▄é╜é═òΩÉe
é┼éáéΘüvé╞éóéñÅ≡îÅé≡û₧é╜é╡é─éóé▄é╖üBæ╝é╠âvâìâOâëâÇî╛îΩé┼é═üAüuü`é▄é╜é═ü`üv
é╞éóéñÅ≡îÅé═ OR é≡Ägé┴é─ò\î╗é╖éΘé╠é¬êΩö╩ôIé┼é╖é¬üAìíë±é╠éµéñé╚âGâLâXâpü[
âgâVâXâeâÇé┼é═üAProlog é╠ÅΩìçéαô»ùlé┼é╖é¬üAòíÉöé╠ïKæÑé≡ÆΦï`é╖éΘé╛é»é┼ OR
é≡Ä└î╗é╖éΘé▒é╞é¬é┼é½éΘé╠é┼é╖üBüuü`é⌐é┬ü`üvé═æOé╔Éαû╛é╡é╜éµéñé╔ïKæÑé┼âSü[
âïé≡ò└é╫éΘé▒é╞é┼Ä└î╗é┼é½é▄é╡é╜üBé╗éΩé┼é═Ä└ìsé╡é─é▌é▄é╡éσéñüBêΩÿYé╠ù╝Éeé═
ÆNé⌐üAÄ┐ûΓé╡é─é▌é▄é╖üB
Lisp > (Q '(ù╝Ée X êΩÿY))
X = ë╘Äq
X = æ╛ÿY
nil
É│ë≡é═æ╛ÿYé╞ë╘Äqé┼é╖üBéñé▄é¡ô«ì∞é╡é─éóé▄é╖é╦üBé╗éΩé┼é═üAé▒é╠ïKæÑé≡Ägé┴é─
üuæºÄqüvé╞éóéñïKæÑé≡ÆΦï`é╡é▄é╡éσéñüBX é¬ Y é╠æºÄqé┼éáéΘé╚éτé╬üAY é═ X é╠
ù╝Éeé┼é⌐é┬ X é═Æjɽé╠é═é╕é┼é╖üBăé╠éµéñé╚ïKæÑé╔é╚éΦé▄é╖üB
List 49 : æºÄqé╠ÆΦï`(X é═ Y é╠æºÄqé┼éáéΘ)
1 ((æºÄq X Y) (ù╝Ée Y X) (Æjɽ X))
üué⌐é┬üvé═ïKæÑé┼âSü[âïé≡Åçö╘é╔ò└é╫éΩé╬Ä└î╗é┼é½é▄é╡é╜é╦üBé▄é╕ (ù╝Ée Y X)
é≡û₧é╜é╖è╓îWé≡ïüé▀é▄é╖üBé╗é╠îπ (Æjɽ X) é┼ X é¬Æjɽé┼éáéΘé▒é╞é≡èmé⌐é▀é▄
é╖üB(Æjɽ X) é┼Ä╕ösé╡é─éα (ù╝Ée Y X) é╔û▀é┴é─üAăé╠î≤òΓé≡î⌐é┬é»é─é¡éΩéΘ
é╠é┼æσÅΣòvé┼é╖üBé╗éΩé┼é═Ä└ìsé╡é─é▌é▄é╡éσéñüB
Lisp > (Q '(æºÄq X ë╘Äq))
X = êΩÿY
X = ăÿY
nil
ë╘Äqé╠æºÄqé═êΩÿYé╞ăÿYé┼éáéΘüAé╞ôÜéªé¬Åoé▄é╡é╜üBé▒é╠É▀é┼ (Æjɽ X) é≡
(Åùɽ X) é╔ò╧ìXé╖éΘé╞üuû║üvé╠è╓îWé≡ò\é╖é▒é╞é¬é┼é½é▄é╖üB
List 50 : û║é╠ÆΦï`(X é═ Y é╠û║é┼éáéΘ)
1 ((û║ X Y) (ù╝Ée Y X) (Åùɽ X))
ì┼îπé╔üuæcòâüvé╠è╓îWé≡ïüé▀éΘïKæÑé≡ÆΦï`é╡é▄é╡éσéñüBé▒éΩé═ìíé▄é┼é╞êßé┴é─
é┐éσé┴é╞û╩ô|é┼é╖üBX é╠æcòâ Y é≡ïüé▀éΘé╔é═üAé▄é╕ X é╠ù╝Éeé≡ïüé▀üAé│éτé╔é╗
é╠òâÉeé≡ïüé▀é▄é╖üBòΩò√é╞òâò√é╔æcòâé¬éóé▄é╖é⌐éτüAòâÉeé╠òâÉeé≡ïüé▀éΘé╠é┼é═
òΩò√é╠æcòâé¬éφé⌐éΦé▄é╣é±üBX é╠ù╝Éeé≡ïüé▀éΘÅΩìçüAX é╞ Y ê╚èOé╠ò╧Éöé≡Ägéñ
é▒é╞é┼üAX é╠ù╝Éeé≡é╗é╠ò╧Éöé╞â}âbâ`âôâOé╖éΘé▒é╞é¬é┼é½é▄é╖üB
List 51 : æcòâé╠ÆΦï`(X é═ Y é╠æcòâé┼éáéΘ)
1 ((æcòâ X Y) (ù╝Ée Z Y) (òâÉe X Z))
ò╧Éö Z é╔ Y é╠ù╝Éeé¬æπôⁿé│éΩé▄é╖üBăé╔ Z é╠òâÉeé¬ X é╔æπôⁿé│éΩé▄é╖üBò╧Éö
é≡Ägéñé▒é╞é┼Ä└ìsîïë╩é≡ò█Ä¥é╡üAăé╠âSü[âïé╓Ælé≡ôné╖é▒é╞é¬é┼é½éΘé╠é┼é╖üBé╗
éΩé┼é═Ä└ìsé╡é─é▌é▄é╡éσéñüB
Lisp > (Q '(æcòâ X Y))
X = æ╛ÿY
Y = ùmÄq
X = æ╛ÿY
Y = ÄOÿY
nil
æcòâé╞ô»é╢éµéñé╔üuæcòΩüvé╠è╓îWéαÆΦï`é┼é½é▄é╖üB
ü¢Ä└ìsùß -- è╚ÆPé╚âèâXâgæÇì∞
ìíë±ì∞ɼé╡é╜âGâLâXâpü[âgâVâXâeâÇé═üAè╚ÆPé╚âèâXâgæÇì∞éαìséñé▒é╞é¬é┼é½é▄
é╖üBâåâjâtâBâPü[âVâçâô unify é═âhâbâgæ╬é≡Ägéñé╞üAé╞é─éαé¿éαé╡éδéóô«ì∞é≡
é╡é▄é╖üBăé╠ùßé≡î⌐é─é¡é╛é│éóüB
Lisp > (unify '(Åt ë─ ÅH ô~) (X . Y) nil)
(Y X)
âåâjâtâBâPü[âVâçâôé═ɼî≈é╡é▄é╡é╜é¬üAX é╞ Y é╔é═é╟é±é╚Ælé¬âZâbâgé│éΩé─
éóéΘé┼é╡éσéñé⌐üB
Lisp > X
Åt
Lisp > Y
(ë─ ÅH ô~)
âèâXâgé╞âhâbâgæ╬é≡â}âbâ`âôâOé╖éΘé╞üAâhâbâgé╠îπéδé╠ò╧Éöé═üuÄcéΦé╠âèâXâgæS
é─üvé╞â}âbâ`âôâOé╡é▄é╖üBé▒é╠ÅΩìçüAX é¬Éµô¬é╠ùvæfé╞â}âbâ`âôâOé╡üAÅté≡ĵéΦ
Å£éóé╜ÄcéΦé╠âèâXâgé╞ Y é¬â}âbâ`âôâOé╡é▄é╖üB
é▒éΩé═üAunify é╠Ädægé▌é⌐éτìléªéΘé╞ôûæRé╠ô«ì∞é┼é╖üBé▄é╕üAÅté╞ X é¬â}âb
â`âôâOé╡é▄é╖é╦üBăé═üACDR òöé¬ÄµéΦÅoé│éΩé▄é╖é¬üAé▒é╠ÅΩìçüA(ë─ ÅH ô~) é╞
Y é≡Å╞ìçé╖éΘé▒é╞é╔é╚éΦé▄é╖üBé╡é╜é¬é┴é─üAY é╠Ælé═ (ë─ ÅH ô~) é╞é╚éΘé╠é┼é╖üB
éαéñÅ¡é╡ùßé≡î⌐é─é▌é▄é╡éσéñüB
Lisp > (unify (Åt ë─ ÅH ô~) (X Y . Z) nil)
(Z Y X)
Lisp > X
Åt
Lisp > Y
ë─
Lisp > Z
(ÅH ô~)
é▒é╠ùßé┼é═üAX é¬ÅtüAY é¬ë─é╔â}âbâ`âôâOé╡üAÄcéΦé╠âèâXâgé╞ Z é¬â}âbâ`âôâO
é╡é▄é╖üBLisp é┼é═üAcar é┼âèâXâgé╠ɵô¬é╠ùvæfé≡üAcdr é┼ɵô¬é≡ĵéΦÅ£éóé╜Äc
éΦé╠âèâXâgé≡ïüé▀éΘé▒é╞é¬é┼é½é▄é╖é¬üAìíë±é╠âVâXâeâÇé┼é═üAâpâ^ü[âôâ}âbâ`âô
âOé≡ìséñé▒é╞é┼âèâXâgé≡ò¬ë≡é╖éΘé▒é╞é¬é┼é½éΘé╠é┼é╖üBÄ└é═üAProlog é┼éαô»é╢
éµéñé╔âèâXâgé≡æÇì∞é╖éΘé▒é╞é¬é┼é½é▄é╖üB
é╗éΩé┼é═ï∩æ╠ôIé╔âèâXâgæÇì∞é≡ìséñïKæÑé≡ì∞é┴é─é▌é▄é╡éσéñüBɵô¬é╠ùvæfé≡ïü
é▀éΘé▒é╞é╞üAɵô¬é╠ùvæfé≡ĵéΦÅ£éóé╜ÄcéΦé╠âèâXâgé≡ïüé▀éΘé▒é╞é═üAâèâXâgé╠âp
â^ü[âôâ}âbâ`âôâOé≡Ägéªé╬è╚ÆPé╔é┼é½é▄é╖üB
List 52 : ɵô¬é╠ùvæfé≡ĵéΦÅoé╖
1 ((first (X . Y) X))
List 53 : ɵô¬é╠ùvæfé≡ĵéΦÅ£éóé╜âèâXâgé≡ïüé▀éΘ
1 ((rest (X . Y) Y))
ébî╛îΩéΓ Lisp ôÖé┼é═üAÄ└ìsîïë╩é≡è╓Éöé╠ò╘éΦÆlé╞é╡é─Åoù═é│é╣é▄é╖é¬üAìíë±é╠
âGâLâXâpü[âgâVâXâeâÇé┼é═üAæµ 1 ê°Éöé╔âèâXâgé≡ù^éªüAæµ 2 ê°Éöé╠ò╧Éöé┼ë≡é≡
ĵéΦÅoé╖éµéñé╔ÆΦï`é╖éΘé╠é¬â|âCâôâgé┼é╖üB
Ä└ìsùßé≡Īé╡é▄é╡éσéñüB
Lisp > (Q '(first (a b c d) Z)
Z = a
nil
Lisp > (Q '(rest (a b c d) Z))
Z = (b c d)
nil
first éα rest éαâèâXâgé╞ (X . Y) é≡â}âbâ`âôâOé╡é▄é╖üBX é╔é═ a é¬üAY é╔
é═ (b c d) é¬âZâbâgé│éΩé▄é╖üBfirst é╠ÅΩìçé═ò╧Éö Z é╞ò╧Éö X é¬â}âbâ`âôâO
é╖éΘé╠é┼üAZ é¬ a é╞é╚éΦé▄é╖üBrest é╠ÅΩìçé═ò╧Éö Y é╞â}âbâ`âôâOé╖éΘé╠é┼üAZ
é═ (b c d) é╞é╚éΘé╠é┼é╖üB
ăé╔üAâèâXâgé╠ɵô¬é╔âfü[â^é≡Æ╟ë┴é╖éΘïKæÑé≡ì∞éΦé▄é╖üB
List 54 : âèâXâgé╠ɵô¬é╔âfü[â^é≡Æ╟ë┴
1 ((add_to_list X L (X . L)))
é┼é═üAÄ└ìsùßé≡î⌐é─é¡é╛é│éóüB
Lisp > (Q '(add_to_list a (b c d) Z))
Z = (a b c d)
nil
æµ 1 ê°Éöé╔Æ╟ë┴é╖éΘâfü[â^üAæµ 2 ê°Éöé╔âèâXâgüAæµ 3 ê°Éöé┼îïë╩é≡Ä≤é»ÄµéΦ
é▄é╖üBLisp é┼é═ cons é┼âèâXâgé╠ìçɼé≡ìséóé▄é╖é¬üAâpâ^ü[âôâ}âbâ`âôâOé┼ìs
éñé▒é╞é¬é┼é½éΘé╠é┼é╖üB
ăé═üA2 é┬é╠âèâXâgé≡ 1 é┬é╠âèâXâgé╔îïìçé╖éΘïKæÑé≡ì∞éΦé▄é╡éσéñüBLisp é╠
è╓Éö append é╞ô»é╢ô¡é½é╡é▄é╖üBLisp é═ì─ïAé≡Ägé┴é─è╚ÆPé╔ì∞éΘé▒é╞é¬é┼é½é▄
é╡é╜üBìíë±ì∞ɼé╡é╜âGâLâXâpü[âgâVâXâeâÇé┼éαüAì─ïAé≡Ägé┴é─è╚ÆPé╔ì∞éΘé▒é╞é¬
é┼é½é▄é╖üB
List 55 : âèâXâgé╠îïìç
1 ((append nil X X))
2 ((append (U . X) Y (U . Z)) (append X Y Z))
append é═üAæµ 1 ê°Éöé╞æµ 2 ê°Éöé╠âèâXâgé≡îïìçé╡é╜îïë╩é¬üAæµ 3 ê°Éöé╔âZâb
âgé│éΩé▄é╖üB
1 ìsû┌é═üAï≤âèâXâgé╞ X é≡îïìçé╖éΘé╞ X é┼éáéΘüAé╞éóéñé▒é╞é≡ò\é╡é─éóé▄é╖üB
é▒éΩé¬ì─ïAî─é╤Åoé╡é╠ÆΓÄ~Å≡îÅé╔é╚éΦé▄é╖üB2 ìsû┌é╠ïKæÑé┼é═üAô¬òöé┼æµ 1 ê°
Éöé╠âèâXâgé≡ U é╞ X é╔ò¬ë≡é╡é▄é╖üBăé╔üAæ╠òöé┼é═ÄcéΦé╠âèâXâg X é╔æ╬é╡é─
append é≡ì─ïAî─é╤Åoé╡é╡üAé╗é╠îïë╩é¬ Z é╔âZâbâgé│éΩé▄é╖üBé╗é╡é─üAô¬òöé╠æµ
3 ê°Éöé┼ Z é╔ U é¬Æ╟ë┴é│éΩé▄é╖üBé▒éΩé═üAâèâXâg X, Y é╠îïìçîïë╩ Z é╔ U é≡
Æ╟ë┴é╖éΘüAé╞éóéñïKæÑé≡ò\é╡é─éóé▄é╖üB
Ä└ì█é╠ô«ì∞é═üAì─ïAî─é╤Åoé╡é╔éµé┴é─æµ 1 ê°Éöé╠âèâXâgé¬ò¬ë≡é│éΩüAÆΓÄ~Å≡
îÅé┼æµ 2 ê°Éöé¬æµ 3 ê°Éöé╞â}âbâ`âôâOé╡é▄é╖üBé▒é╠è╘ Z é═é╕é┴é╞Ä⌐ùRò╧Éöé╠
é▄é▄é┼éáéΘé▒é╞é╔Æìê╙é╡é─é¡é╛é│éóüBì─ïAî─é╤Åoé╡é⌐éτû▀éΘÄ₧é╔ Z é═æ⌐ö¢é│éΩ
éΘé╠é┼é╖üB
ÆΓÄ~Å≡îÅé⌐éτû▀é┴é─é½é╜Æ╝îπé╔üAZ é═æµ 2 ê°Éöé╠âèâXâgé╔æ⌐ö¢é│éΩé─éóé▄é╖üB
îπé═üA(U . Z) é╔éµé┴é─æµ 1 ê°Éöé╠ùvæfé¬Æ╟ë┴é│éΩüAé╗é╠Ælé¬î─é╤Åoé╡î│é╠ Z
é╠Ælé╞é╚éΦé▄é╖üBîïï╟üAì─ïAî─é╤Åoé╡é⌐éτû▀é┴é─éóé¡Ä₧é╔üAæµ 1 ê°Éöé╠ùvæfé¬
Z é╔Æ╟ë┴é│éΩé─éóé┴é─üAâèâXâgé¬ÿAîïé│éΩéΘé╠é┼é╖üB
é╚é╔é⌐Θxé│éΩé─éóéΘéµéñé╔ÄvéφéΩéΘé┼é╡éσéñé¬üAé▒éΩé┼É│Åφé╔ô«ì∞é╖éΘé╠é┼é╖üB
é╗éΩé┼é═Ä└ìsé╡é─é▌é▄é╡éσéñüB
Lisp > (Q '(append (a b c) (d e f) Z))
Z = (a b c d e f)
nil
Lisp > (Q '(append ((a b) (c d)) ((e f) (g h)) Z))
Z = ((a b) (c d) (e f) (g h))
nil
âvâìâOâëâÇé╠ô«ì∞é≡ìléªéΘé╞ô¬é¬ì¼ùÉé╖éΘé⌐éαé╡éΩé▄é╣é±üBé▒é╠éµéñé╚âGâLâX
âpü[âgâVâXâeâÇé┼é═üAüuû╡Åéé╡é╚éóéµéñé╔ïKæÑé≡ÆΦï`é╖éΘüvé▒é╞é≡ÉSé¬é»é╜ò√é¬
éµéóé╠é┼é╡éσéñüB
é╞é▒éδé┼üAappend é═âèâXâgé≡îïìçé╖éΘé╛é»é┼é╚é¡üAâèâXâgé≡ò¬ë≡é╖éΘô«ì∞é≡
ìséñé▒é╞é¬é┼é½é▄é╖üB
Lisp > (Q '(append Z (c d) (a b c d)))
Z = (a b)
nil
Lisp > (Q '(append (a b) Z (a b c d)))
Z = (c d)
nil
éαé┴é╞ɪéóé╠é¬üAæµ 1 ê°Éöé╞æµ 2 ê°Éöé≡ò╧Éöé╔é╖éΘé▒é╞é┼é╖üB
Lisp > (Q '(append X Y (a b c d)))
Y = (a b c d)
X = nil
Y = (b c d)
X = (a)
Y = (c d)
X = (a b)
Y = (d)
X = (a b c)
Y = nil
X = (a b c d)
nil
é▒é╠éµéñé╔üA2 é┬é╠âèâXâgé╔ò¬ë≡é┼é½éΘæSé─é╠ægé▌ìçéφé╣é≡ïüé▀éΘé▒é╞é¬é┼é½
é▄é╖üB1 é┬é╠ïKæÑé┼òíÉöé╠Ägéóò√é¬é┼é½éΘé╠é¬üAæ╝é╠î╛îΩé╔é═â}âlé╠é┼é½é╚éóüA
é¿éαé╡éδéóô┴ÆÑé┼é╖üB
ìíôxé═üAâèâXâgé╠Æåé⌐éτùvæfé≡êΩé┬æIé╘ïKæÑé≡ì∞é┴é─é▌é▄é╖üB
List 56 : ùvæfé╠æIæ≡
1 ((select X (X . L) L))
2 ((select X (Y . L) (Y . Z)) (select X L Z))
select é═æµ 2 ê°Éöé╠âèâXâgé⌐éτùvæfé≡æIé╤üAæµ 1 ê°Éöé╠ò╧Éöé╔âZâbâgé╡üA
æµ 3 ê°Éöé╔ÄcéΦé╠âèâXâgé≡âZâbâgé╡é▄é╖üB
ì┼Åëé╠ïKæÑé═è╚ÆPé┼é╖é╦üBæµ 2 ê°Éöé╠âèâXâgé≡ò¬ë≡é╡üAɵô¬é╠ùvæfé≡æIé╤é▄
é╖üBì─ÄÄìsé╠Ä₧é╔ 2 ìsû┌é╠ïKæÑé¬Ä└ìsé│éΩé▄é╖üBè∙é╔æµ 1 ùvæfé═æIæ≡é│éΩé─éó
éΘé╠é┼üAé╗éΩé≡ĵéΦÅ£éóé╜ÄcéΦé╠âèâXâgé⌐éτùvæfé≡æIé╫é╬éóéóéφé»é┼é╖üB
ô¬òöé╠æµ 2 ê°Éö (Y . L) é┼âèâXâgé≡ò¬ë≡é╡üAselect é≡ì─ïAî─é╤Åoé╡é╡é▄é╖üB
ùvæf Y é═ĵéΦÅ£éóé╜âèâXâg Z é╔Æ╟ë┴é╖éΘé▒é╞é≡é¿ûYéΩé╚é¡üBé╗éΩé┼é═Ä└ìsé╡é─
é▌é▄é╡éσéñüB
Lisp > (Q '(select X (a b c) Y))
Y = (b c)
X = a
Y = (a c)
X = b
Y = (a b)
X = c
nil
é▒é╠ select é≡Ägé┴é─Åçù±é≡ïüé▀éΘé▒é╞é¬é┼é½é▄é╖üB
List 57 : Åçù±é≡ïüé▀éΘ
1 ((perm nil nil))
2 ((perm X (Z . L)) (select Z X Y) (perm Y L))
perm é═üAæµ 1 ê°Éöé╠âèâXâgé╔èiö[é│éΩé─éóéΘùvæfé╠Åçù±é≡üAæµ 2 ê°Éöé╠ò╧
Éöé╔ïüé▀é▄é╖üB2 ìsû┌é╠ïKæÑé≡î⌐é─é¡é╛é│éóüBX é⌐éτ select é┼ùvæfé≡êΩé┬æIé╤
Z é╔âZâbâgé╡é▄é╖üBăé╔üAÄcé┴é╜âèâXâg Y é╠Åçù±é≡ perm é┼ïüé▀üAé╗é╠îïë╩ L
é╔ Z é≡Æ╟ë┴é╖éΩé╬üAX é╠Åçù±é═è«É¼é╡é▄é╖üBì─ïAé╠ÆΓÄ~Å≡îÅé═üAâèâXâgé╠ùvæf
é¬û│é¡é╚é┴é╜ÅΩìçé┼é╖üB
ì─ÄÄìsé╖éΘé╜é╤é╔ select é═ÉVé╡éóùvæfé≡ò╘é╖é╠é┼üAé▒éΩé┼æSé─é╠Åçù±é≡ïüé▀
éΘé▒é╞é¬é┼é½éΘé╠é┼é╖üBé┼é═üAÄ└ìsé╡é─é▌é▄é╡éσéñüB
Lisp > (Q '(perm (a b c) Y))
Y = (a b c)
Y = (a c b)
Y = (b a c)
Y = (b c a)
Y = (c a b)
Y = (c b a)
nil
É│Åφé╔ô«ì∞é╡é─éóé▄é╖é╦üBâpâ^ü[âôâ}âbâ`âôâOé╞âoâbâNâgâëâbâNé╛é»é┼üAé▒é▒
é▄é┼âèâXâgæÇì∞é¬é┼é½éΘé╞é═ï┴é½é┼é╖üBé╜é╛üAò╧Éöé╠Ägéóò√é¬ébéΓ Lisp é╞æσé½
é¡ê┘é╚éΘé╠é┼üAè╡éΩéΘé▄é┼é┐éσé┴é╞ïΩÿJé╡é╗éñé┼é╖é╦üBâèâXâgæÇì∞é╠ïKæÑé═âtâ@
âCâï LIST.DAT é╔èiö[é│éΩé─éóé▄é╖üBÄ└ì█é╔ô«ì∞é│é╣é─é▌é─é¡é╛é│éóüB
é▒éΩé▄é┼ì∞ɼé╡é╜âèâXâgæÇì∞é═ Prolog é┼éαô»é╢éµéñé╔ìséªé▄é╖üBÄQìlé▄é┼é╔üA
Prolog é┼Åæé⌐éΩé╜âvâìâOâëâÇé≡Īé╡é▄é╖üB
List 58 : ɵô¬é╠ùvæfé≡ĵéΦÅoé╖
1 first( [X|Y], X ).
List 59 : ɵô¬é╠ùvæfé≡ĵéΦÅ£éóé╜âèâXâgé≡ïüé▀éΘ
1 rest( [X|Y], Y ).
List 60 : âèâXâgé╠ɵô¬é╔âfü[â^é≡Æ╟ë┴
1 add_to_list( X, L, [X | L] ).
List 61 : îïìç
1 append( [], X, X ).
2 append( [U | X], Y, [U | Z] ) :- append( X, Y, Z ).
List 62 : ùvæfé╠æIæ≡
1 select( X, [X | L], L).
2 select( X, [Y | L], [Y | Z]) :- select( X, L, Z ).
List 63 : Åçù±é≡ïüé▀éΘ
1 perm( [], [] ).
2 perm( X, [Z | L] ) :- select( Z, X, Y ), perm( Y, L ).
Prolog é┼é═üAâèâXâgé≡ [X, Y, Z] é╠éµéñé╔ [] é┼ò\é╡é▄é╖üBâhâbâgæ╬é╠âhâb
âg . é╔æ╬ë₧é╖éΘé╠é¬ | é┼é╖üBâGâLâXâpü[âgâVâXâeâÇé╠ïKæÑé╞üAé┘é╞é±é╟ô»é╢é┼
é╖é╦üBé▒é╠âVâXâeâÇé╔üAÉöÆlëëÄZüAÅ≡îÅò¬è≥üAôⁿÅoù═é╚é╟é╠ï@ö\é≡ægé▌ì₧é▐é▒é╞
é┼üAéµéΦéóé┴é╗éñ Prolog âCâôâ^âvâèâ^é╔ï▀é├é»éΘé▒é╞é¬é┼é½é▄é╖üB
üiédénéeüj